Managing network bandwidth is becoming increasingly challenging as resources, previously deployed, become inadequate for handling increased network traffic. Many issues have contributed to this unforeseen expansion in the use of network bandwidth. One of the issues is the ever-increasing use of digital media used for training and electronic learning. Accordingly, organizations have discovered that remote network meetings and/or training using multi-media content for a specific task is far less expensive to the organization than flying meeting coordinators and/or educational trainers to remote geographic locations.
Moreover, in the area of entertainment, many have found the convenience of selecting and viewing media from a desired location much more enticing than in engaging in a journey to a store, searching media inventory, checking a desired selection out, and returning to watch the media in the desired location. Further, the problem is rapidly escalating because of the increased use of networks to move sizable media files to remote viewing locations in time for desired events. Legacy network infrastructure is becoming taxed beyond its intended capacity, and the expense associated with deploying additional or new network resources is often prohibitive for organizations.
Conventionally, a number of software and hardware techniques have been used to assist with managing network traffic where limited network bandwidth is available to an organization. One technique is to use a cache that stores frequently accessed data, such that when some requests are received for external data the local cache is available to immediately provide the data. Under these circumstances, external network traffic is avoided altogether since the data is available locally in the cache to service a request. This is desirable because the Local Area Network (LAN) bandwidth is usually much higher (e.g., 100 Mega Bits/second) than the link to the external network connection (e.g., 128 Kilobits/second). Thus, once the local cache has the content and can serve the request locally, response times are decreased and customer satisfaction is increased.
Caching applications that manage a cache generally improve data delivery performance for subsequent requests after an initial first request. This is so because the cache does not have data to service a request until a first request is actually made for the desired data. Thus, caching techniques have been enhanced with more intelligent applications that assist in managing network traffic. These applications are embodied in Content Distribution Network (CDN) systems.
A CDN can perform a variety of intelligent routing and scheduling on network traffic in order to improve network performance. For example, a CDN application can determine that a certain type of data is frequently accessed over the network, such that when this data is removed from the cache or the cache is flushed, the CDN applications acquires the data and populates the cache with the data before an initial or first request is actually made for the desired data. Thus, by adding a CDN to network traffic management systems a first requester for desired data can obtain the same benefits that subsequent requesters enjoy by using traditional caching applications. In this way, CDN applications can perform operations to pre-position data in a cache in order to improve network traffic management.
However, because industries have desired modularity and independence of operation, many other applications that assist in managing network traffic are not integrated with caching applications and/or CDN applications. As a result, an external network connection can be unduly taxed by downloads being performed by a CDN application while other more important and immediate requests linger or slowly process waiting for increased access to the external connection. Since priority and policies are not communicated in an integrated fashion from the CDN and other applications that directly control access to the external network connection, adequate adjustments are not made to accommodate the higher priority requests. Additionally, other network traffic management policies are not adequately communicated between the CDN and the applications directly controlling access to the external network connection.
Thus, conventional techniques may be developed in a layered or modular fashion, but these techniques lack the ability to fully utilize an organization's external network connection and do not utilize the connection in an intelligent and efficient manner. Correspondingly, an organization may seek to adopt a more expensive hardware solution that increases a number of external network connections or upgrades the type of external network connection in the hopes of improving network traffic performance. Yet, an expensive hardware solution may not be necessary if an organization's caching, CDN, and external network connection applications were integrated and communicated effectively with one another.
As is now apparent to one of ordinary skill in the art, there exists a need for improved techniques that more effectively manage network traffic. This need is particularly desirable with large-scale networks, networks with heavy traffic, and/or networks processing large media files. Moreover, it is important for a network that has good internal connectivity and internal bandwidth but is limited to external access because of limitations of its external link.